Video editing has always been an important issue in video production. Film editing was initially done using splicing tools and title blending equipment. However, in recent few decades, new techniques appeared. One cornerstone in the evolution of these techniques was the beginning of the digital era. This new era opened new horizons and expanded dramatically the type of editing operations that could be performed on video streams. For instance, with this new era, it became possible to use the processing power of the computer.
Today video editing can be performed in a computer using two types of architecture.
The first type of architecture involves a dedicated 3D video special effects chip or chip set whose task is to perform only video editing operations and hardware implemented video effects. While this architecture allows real-time processing, which is a need for live broadcasting, this architecture suffers from a lack of upgradebility. Furthermore, this architecture is usually very expensive and thus not affordable for low end users.
This second type of architecture involves the common graphics chip used in computer graphics cards. This architecture allows video editing operations and video effects. Furthermore, this architecture allows a software upgrade of the video effects. However, this architecture cannot handle, in its present configuration, real-time operations. This is a major drawback that is not acceptable for a professional user and is also a great inconvenience for personal users.
There is thus a need for an architecture that would allow real-time video editing without using expensive dedicated hardware. There is also a need for an architecture that would allow a software upgrade of the video effects that can be performed in real time.